public class Offer_10_2 {
/*
* 一只青蛙一次可以跳上1级台阶，也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法。

答案需要取模 1e9+7（1000000007），如计算初始结果为：1000000008，请返回 1。

示例 1：

输入：n = 2
输出：2
示例 2：

输入：n = 7
输出：21
* */
    public static int fib(int n) {
        if(n==0){
            return 1;
        }
        if(n==1){
            return 1;
        }
        int num1=1,num2=1,sum=0;
        while(n>=2){
            sum=(num1+num2)%1000000007;
            num1=num2;
            num2=sum;
            n--;
        }
        return sum;
    }

 /*   public static int fib1(int n) {
        if(n==0){
            return 0;
        }
        if(n==1){
            return 1;
        }

        return fib1(n-1)+fib1(n-2);
    }*/
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            System.out.println(fib(i));
//            System.out.println(fib1(i));
        }
    }
}
